Skip to main content

Full text of "The Data Expansion"

See other formats


Pt 9494 00 90 00 00 90 DO DE HF 00 00 DEUE 00 90 00 90.00 00 00 00 2454 OF OE HE 90 00 90 00 HE 00 0000 00 90 TE 54 90 90 00.00 DO G0 000 DE 90 9000 00 00 90 090 09 90 00 00 9299 — 


ж THE DATA EXPANSION x 
ж TIMEX/SINCLAIR USERS GROUP OF FORT UORTH, TEXAS ж 
ж NEUSLETTER x 
x VOL 3, NUMBER 10-OCT. 1986 ж 
ы EDITOR: DAVID BAULCH ж- 
XOOOOOOOOCCOOCIOOOODEOEEXOOOEOEOOOEXOOCOOOOOOOOOOEOOEXGOEXOEOUEXIOOECCEXGE - 


NOTES FROM THE EDITOR 
By Editor David Baulch 


This has been an interesting past month. I have had а few 
special phone calls and letters from people concerning the- 
sub-board that we have on the Kaypro BBS. Ed Gray, the SYSOP of 
the Timex sub-board on the YARBBS, was finally able to get on 
line calling through Dallas using PC PURSUIT. I do not 
understand all there is to knou about PC PURSUIT, but there is 
an initial $25.00 start-up fee and it costs $25.00 a month 
whether it is used or not. This long-distance service із 
probably well worth the money for those who really use it. 


Ed stated how glad he was to see the newest addition to the 
Timex Telecommunication network. He was also pleased to see that 
of the 32 programs on-line, many were ones he was not familiar 
with. (Only in the Metroplex!) He was going to spread the word 
to other users through his sub-board and the Electronic 
Newsletter that he has on his sub-board. 


There was also a caller from the Chicago area. It seems 
that the Kaypro board with our sub-board may just be taking off. 
It vould take off better if some of you would call in and place 
more downloads on the board. The only thing necessary to remind 
you of is that it only uses Xmodem protocol, not ASCII. I hope 
that the BBS is visited often, that way we will make а real 
contribution to our User Groups and everyone will benefit. 
JXGOOOOOOOOOGOOOOOOOOOOOOOOOEOOOOOOOOOOEOOOOOOOOOIOOOOOOOC OE Ten 


TIMEX/SINCLAIR USERS GROUP OF FORT UORTH, TEXAS 
SEPTEMBER MEETING NOTES 


The meeting convined in MEETING ROOM "В" of the Fort Worth 
Public Library at 300 Taylor Street in downtown Fort Worth. The 
next meeting is scheduled for November 8, 1986 in MEETING ROOM- 


ÞE DERE HE DE FE NEIE IE PE DE FE RE PE FE FE RE IE JE FE JE HEIE IE FEFE HEIE MEIE IE EIEI KE HEEK EEK KEK KEEKEEKE KERKE - 
This newsletter is published monthly and is sent to all of- our 
subscribers and to other user groups throughout the U.S., 
Canada, Mexico, and Europe. The Timex sub-board on the FWKUG 


MBBS & PSDE Г8/1/М1 540-4183 will soon carry this newsletter, 


and already carries 752068 downloads. The subscription rates are 
$2.50 a month or $12.00 for six months. Anyone wishing to- 
advertise, our rates are: $5.00 (minimum) for 1/4 page, $10.00 
for 1/2 page, and $20.00 for а full page. Please send to? David 
Baulch, 4424 Geddes Ave., Fort Worth, TX 76107. 


PRESIDENT:GENE PICKENS VICE-PRESIDENT :FRANK BOULDIN 
TREASURER: ELLIS SAUNDERS SECRETARY :CHUCK DAWSON 
EDITOR: DAVID BAULCH PROGRAM EDITOR:CHUCK DAUSON 


TECHNICAL EDITOR:FRANK BOULDIN CONTRIBUTORS:Chuck  Dauson, 


DATA z ExPans EON 


"С". The meetings are on the second Saturday of each month from 
1:00 Р.М. to 4:00 Р.М. The meetings are open to all who wish to 
learn more about the Sinclair, Timex, and Amstrad computers. 


The meeting was called to order by our president, Gene 
Pickens. Even though only 10 members were present at this 
meeting (a rather small group) and no one had any classes 
prepared for this meeting (there was too much going on at work 
to have time to prepare anything), there was a great deal of 
talk, discussion, and information. Our first president, Tim 
Ward, was back from Sicily, Italy and on his way to Washington 
(the state) for his new Air Force base assignment. We all wish 
him well considering all of the work he went through to get this 
users group together. 


Bob Burton has not done very much in the way of programming 
this last month. He was in Colorado for some time and was not 
going to be able to get to his computer. Doyle and Neta Harris 
were there. Doyle had a new acquisition, a Commodore PLUS 4 and 
a new GE Data Recorder. He is pleased with the recorder, but it 
would not plug into the Commodore. He checked in Radio Shack, 
but was unable to come up with the proper interface. He likes 
his Commodore anyway. He likes the 4 programs that comes with 
the PLUS 4 and knows that it was set up more for disk drives 
than for tape. They do have a Datasette recorder for the Plus 4, 
but he does not have it. But at $300 to $400 for the disk 
drives, he thinks he will pass for the present. Neta has been 
watching Doyle 'play' with his neu computer. Fred Stockton was 
present and has been using his computer, but not for much 
programming. 


Charles Stelding has revised his SCREENS READER that was 
mentioned last time so that the version he sent to me was the 
improved one. (It was great to use it, I was able to get a great 
deal of the documentation for certain programs that are а part 
of the program into this wordprocessor and I nou have а 
beautiful 'HARDCOPY' of them.) Once the improved version was 
completed, he used his new TIMACHINE BASIC COMPILER, also 
mentioned last time, to make it into machine code. It works 
extremely well. He is also working on improving his REM 
statement program. Since he teaches at Tyler Junior College and 
this is taking up more and more of his time. He has been trying 
to get the newspaper people in Tyler into trying to get оп to 
StarText so that he can use it like we do. So far, no luck. 
Charles said that they seem to still be in the age of using 
moueable lead type. 


Ellis has not been working with his computer as they are in 
the process of putting all of their inventory at work on a 
computer. Filling in numbers and using status sheets in 
preparation to using the Packard-Bell system they haue is quite 
time consuming. Ellis said he should bring his 1500 and the 
Manufacturing Control software that he has and show them how 
simple it is to set up such a program and run it. He says that 
they are doing too much seemingly trying to fill. all available 
memory. Of course, they will have three companies using the 
system. I think that it would be a little difficult for three 


Dé 


SION 


JICO 
за 11 
side 
two 
was 
rt, 


пес» 


ОАТА 3 EXPANSION 


companies to all try and use the 1500, but you neuer knou. 


Chuck Dauson said that his company was getting a Leading 
Edge PC Clone. It is said to be even better than the опе that 
"Big Blue" puts out, certainly it із faster. Не hinted that 
anyone uho had access to any PC softuare, let him knou as he із 
completely unfamiliar with the whole thing. (Knowing Chuck as- I 
do, I really don’t think that situation vill last very long.) 
All he knows is-that it is on its way, he has not seen it yet. 
When asked about the way the TIMEXPRO programs for downloading 
were numbered, he-ansuered that they were numbered however Һе 
could. There was one two-parter that took up two program slots. 
He had to dispose of both of them on one day as neither опе by 
themselves would give any benefit to anyone. There із no real 
order as to how..it is done, you need to access them every week 
or so and check out what new ones are up. 


Tim Ward, the past president was there. He was glad to be 
back. He said that there were tuo Timex groups up іп Seattle 
that he was going to check out and numerous BBS’s to check out, 
too, since he nou has his modem. He has sent us a great deal of 
programs for the 1000/1500. Не is still playing with his 2068. 
He was stuck with no one that had one in Sicily. He did see some 
Sinclair products and computers, a Spectrum *, at one of the 
local stores. І%-маз priced at over $150. 


Next at the round table discussion was myself. І told about 
the progress of the BBS and had some newsletters rom other 
groups to be looked at for those who were interested. I went 
back over the information from Pete Fischer, in Arizona, about 
the book to be. published about Timex Telecommunications. He 
included some pages that were going to Бе in the "one-time only’ 
book. It still looks pretty impressive. I suggest that you keep 
an eye out for it when it appears. I also told about the 
messages that Ed grey talked about. This brought up some 
questions about the PC PURSUIT that Ed used to get in touch with 
our BBS through Dallas. Very interesting. It is a shame that 
Fort Worth does not have this. 


Mentioning my "trip?" down to Austin and visiting Jerry and 
Til at AERCO brought about more discussion. They impressed me 
with the ADDS VIEWPOINT terminal running CP/M in 80 columns. I 
mentioned it again and many of the members seemed to be 
impressed. The price of the system was called into question, but 
it seems to be an exceptional system for the price. I think that 
I will write to ZEBRA SYSTEMS and question them about their CP/M 
unit for the 2068. (I don’t think I want to take a trip up that 
far.) Poor Jerry has been working so hard on the system and 
improving it that he has not even been able to sit down апа 
"play" with the system. I commented on how many BBS’s there were 
in Austin that could be contacted, but he just has not had the 
time. 


That vas about it. Frank Bouldin uas not able to attend. It 
seems that during one of the last storms vue had a bolt of 
lightening hit his HAM radio antenna and 'fried' almost all of 
his equiptment. He із in the process of trying to piece things 


OATA 4 EXPANSION 


back together. If anyone has ever been over to Frank’s and seen 
his 'uall-to-uall' equiptment set-up, you know how much he lost. 
I hope most of it is repairable. 

RRRKKKKK KKK KK KKK KKK KK KK KKH HA KK KKK KH KKK KKK KK KKK OO CX X XXX XXX 


TIMEX TIPS 
by Chuck Dawson 


QUESTION: Can you explain the term RLE graphics? 


ANSWER: R.L.E. stands for RUN LENGTH ENCODED graphics, which 
probably does not tell you a lot. The idea is to take а screen 
full of graphic information (usually 256 dots across by 196 dots 
high) and turn the information into ASCII characters which сап 
then be sent via modem to other computers. At the other end, the 
ASCII characters are turned back into a visible screen which can 
Бе SAVEd. This is not just a system for use with Timex-Sinclair 
computers, but is in wide use with various makes. There are 
several public domain programs that encode and decode the screen 
information to and from RLE format. Most of the BASIC programs 
will ignore the bottom tuo print lines since the PLOT command 
will not work there. Machine code decoders can use the bottom 
lines. If you would like to write your own program, here are the 
basics: First, the encoding starts with capital GH to mark the 
beginning of the file. Then, the encoding program starts at the 
upper left corner of the screen and counts the number of black 
dots that appear in a rou, counting to the right. Let’s зау 
there are three black dots and then а white dot folloued by tuo 
more black dots. Since ue are going to use ASCII characters for 
our encoding (space thru copyright or CHR$ 32 thru 127), ме are 
going to assign space with the value zero, exclaimation with the 
value one, quotes with the value two, and so on down to 
copyright with the value of 95. Therefore, our first encoded 
character will be # because it has a value of three followed by 
! because it is one and finally a ' because it represents tuo. 
This counting of black dots and uhite dots continues across the 
. Screen. Uhen the right edge of the screen is reached, drop to 
the next line at the far left and keep counting. That is, five 
black dots at the end of a line followed by three black dots at 
the beginning of the next line would be encoded as an eight. If 
we need a value of more than 95, (like if the whole top line is 
black dots), then we encode 95 for black, zero for white, and 
95 more for black and so on. The last character in the file is 
not ASCII but is a CHR$ 7 (bell). A complicated picture may 
easily take much more memory space than a SCREENS but keep іп 
mind that this system із compatible with other makes of 
computers and is easily transmitted via modem systems which only 
accept ASCII characters. Examples of- encoded Pictures are 
available from many BBSs and are usually named with the suffix 
RLE (A picture of Brooke Shields might be named BROOKE.RLE). On 
CompuServe you can GO PICS at any ! prompt. This method of 
receiving and decoding graphics adds a whole neu dimension to 
‘computing. 

DE DEJE FE PE FE IE DE IE FE IE IE FE E PE IE IE IE FE FE PE PE FE IE FE FE HE FE FE E FE JE FE FE E IE JE DE FE JE FE FEIE JE JE JE E JE JE FE JE JE IE ME JE JE AE IKIE FE FE XF 


AMSTRAD OFFERS LOW-COST PC CLONES FOR U.K. 
i By Patrick Waurzyniak 


AIMERA ce 


£35Co025:7 


0 AD - сэ — 


DATA 3 EXPANSION 


From InfoWorld Vol 8, Issue 38 


WESTMINSTER, England - Amstrad Consumer Electronics Ple. 
announced last week a line of low-cost IBM PC clones for the 
British market. 


The Brentwood, England, company’s long-awaited PC =.1512,- 
available in eight configurations starting at about $614,.. is 
based on Intel’s 8086 microprocessor running at 8 MHz and . comes 
with several software packages. 


The base model personal computer  uith monochrome - monitor 
includes a 5 1/4-inch, 360K floppy disk drive апа: 512K . of 
memory, which can be upgraded to 640K without using an expansion 
slot, according to the company. 


Amstrad’s personal conputer offers ап array of -— bundled 
software, including MS-DOS 3.2 and Digital Research Inc.’s 
Concurrent DOS Plus, Graphics Environment Manager, GEM Desktop, 
GEM Paint, and GEM Basic. 


Amstrad also plans to market versions of Supercale 3 “and 
Wordstar for about $107 each. 


The computer is also available with color monitors - and 
either dual-floppy or 10 and 20-megabyte hard disks. The 
top-of-the-line color, 20-megabyte model; will sell for- about 
$1,461. 7 


Although the company has no set plans, Amstrad. is 
considering bringing the PC 1512 to the United States, according 
to spokesuoman Nicki Bedford-Davies. Amstrad xcurrently markets 
and distributes а CP/M machine іп the United States through 
Sears World Trade of Chicago. 


Borland International of Scotts Valley, California, also 
announced it had reached ап agreement with Amstrad for- the 
British company to manufacture and market tuo popular Borland 
software programs, Side-kick and Reflex the Analyst, іп ~ the 
United Kingdom. The programs will bear the Amstrad label. 


"It's not a bundling agreement," said Borland spokeswoman 
Pam Dillehay. "With this OEM agreement, Amstrad is - going. to 
manufacture, market, and promote these products throughout 
Europe in its established dealer network. " 


LI haue not seen the CP/M machines slated for Sears аз yet, but 
I was over at Edisons which has their wordprocessing machine, It 
is very impressive looking. Since I uas not in the market for 
such a machine, as if I could afford it anyway, and the 
salespeople are notorious about not knowing anything about most 
of the things that they sell, I did not ask to try it оч%.1 

DE 96 96 DE 96 96 IE IE 9 DE DE DE PE IE JE HE XXX XXE XXE PE FE FE JE JE FE IE JE JE JE JE DE JE JE IE JE JE FE JE JE JE IE FE IE F€ JE ME IE FE JE IE IE IE IEE IONE 


N 


DATA 6 EXPANSION 


WORKING WITH THE 2Х81/751000 DISPLAY FILE (CONTINUED) 
BY KEN ABRAMSON 


60 PRINT АТ 21,0;'PRESS ENTER TO BEGIN DRAWING‘ 
70-ІМРОТ P$ 


7 160 PRINT AT Ү,Х;5%; 
170 IF Z THEN PRINT AT Y,X3" '; 
180 IF ІМКЕҮФ-“5“ AND X>0 THEN LET XzX-1 
190 IF INKEY$-'8' AND X431 THEN LET X=X+1 
200 IF INKEYS="6° AND Ү<21 THEN LET Y=Y+1 
210 IF INKEY$-'?' AND Y>O THEN LET Ү-Ү-1 
220 IF INKEY$="0° THEN LET Z=NOT Z 
230 IF INKEY$="C° THEN GOTO 150 
240 IF ІМКЕҮ%-"5“ THEN SAVE 'ZXDRAU' 
250 IF INKEYS="Z° THEN COPY 

- 260 IF INKEYS="M° THEN GOTO 40 
270. GOTO 160 


PROBLEM: 


Can. more than one screen be drawn, stored, and saved 


using 


a single program? So far, our drawing program is capable of 
saving the Display File directly from RAM. But the program can 


only save one screenful in total, whether the computer is 


72К. òr 16K of RAM. 


using 


Using 16K of RAM should permit the storage of several 
screens if the contents of the Display File are dumped into a 
|: different string variable array each time а screen із finished. 
This process has a major disadvantage, since the poor old t/s 
1000 takes a long time (about 15 seconds even in FAST MODE) to 
dump the 726 byte Dispiay File into a string array, and just as 
long a time to POKE the stored string characters back into the 


Dispiay File in order to show a screen. 


` The following program illustrates the use of a string array 
fer storing a screen and regenerateing the screen from storage: 


10 REM **ZXDRAWs* (T/S 10002ВҮ KEN ABRAMSON 
20. REM THIS PROGRAM SHOWS HOW TO SAVE THE DISPLAY FILE 


IN A 


STRING ARRAY (LINES 400 TO 450) AND HOW TO POKE THE STRING 


CHARACTERS BACK INTO THE DISPLAY FILE OR SCREEN -MEMORY 
540 TO 590). 

"30.LET D$=°" 

-40 LET S$z'x' 

50 SLOU 

60 CLS ў 

70 PRINT,,,,TAB 10; 2ХОКАШ MENU',TAB 10; 'seeeeieeeex  , , ТАВ 
NEU DRAWING’,,TAB 2; "2. CONTINUE ПКАМІМб",,,ТАВ 2; "3. 


(LINES 


2:71: 
СОРҮ 


e — т 


MO UL I ON O He fees 


—À— 


wo FE 


XXX - 


f: 

ut) 
and 

onds 


DATA 7 EXPANSION 


DRAWING ONTO SCREEN',,,TAB 2;'4. COPY DRAWING TO РБІМТЕБВ",,,ТАВ 
2;'5. SAVE SCREEN ТО TAPE’ 

80 IF INKEY$="1" THEN GOTO 170 

90 LET СФ-іІМКЕҮ% 

100 IF INKEY$-'2' THEN GOTO 530 

110 LET CS=INKEYS 

120 IF INKEY$-'3' THEN GOTO 530 

130 LET CS=INKEYS 

140 IF ІМКЕҮ%-"4“ THEN GOTO 530 

150 IF INKEY$="5° THEN GOTO 480 


160 GOTO 80 

170 CLS 

180 PRINT TAB 10;'CONTROL KEYS',TAB 7; ‘============",'S -MOVES 
CURSOR (ЕҒТ",,,"6 -MOVES CURSOR 0DOUN',,,.'7 -MOVES CURSOR 
UP*,,,°8 -MOVES CURSOR RIGHT',,,'0 -DRAU ( CURSOR NOT 
FLASHING)',' -ERASE (CURSOR FLASHING)',,,'C -CHANGE DRAWING 
CHARACTER*,,,'M -MAIN MENU*,,'(SAVES SCREEN TO RAM FIRSTO',,,'€ 


-SAVE SCREEN DIRECTLY TO ТАРЕ" 

190 PRINT AT 21,0;'PRESS ENTER TO BEGIN DRAWING" 
200 INPUT P$ 

210 SLOU 

220 CLS 

230 LET 7-0 

240 LET X215 

250 LET Y=10 

269 GOTO 280 

270 INPUT 5% 

280 PRINT АТ Ү,Х;5%; 

290 IF Z THEN PRINT AT Y,X;' '; 

300 IF INKEYS="5" AND Х20 THEN LET X-X-1 
310 IF INKEY$-2'8' AND X«31 THEN LET X=X+1 
320 IF INKEY$="6" AND Y<21 THEN LET Ү=ү+1 
330 IF INKEYS$-'?' AND Y>O THEN LET Y=Y-1 
340 IF INKEY$="0° THEN LET Z=NOT 2 

350 IF INKEY$="C* THEN GOTO 270 

360 LET 1%-ІМКЕҮ% i 

370 IF ІМКЕҮ%-"5“ THEN GOTO 400 

380 IF INKEY$-'M' THEN GOTO 400 

390 GOTO 280 

400 FAST 

410 DIM D$(?26) 

420 LET D-PEEK 16396%256жРЕЕК 16397 

430 FOR Ғ-1 TO 726 

440 LET D$CF)-CHR$ PEEK (D+F) 

450 NEXT F 

460 IF 1%-"5" THEN GOTO 500 

470 GOTO 50 

480 IF D$z'' THEN GOTO 670 

490 CLS 

500 PRINT АТ 21,0;'UHEN TAPE IS READY, PRESS ENTER‘ 
510 INPUT P$ 

520 SAVE 'ZXDRAU'(CU IS INVERSE) 

530 IF D$="* THEN GOTO 670 

540 FAST 

550 CLS < 

560 LET D=PEEK 16396%256жРЕЕК 16397 

570 FOR F=1 TO 726 


DATA | 8 EXPANSION 


580 POKE D+F,CODE D$(F) 

590 NEXT F 

600 SLOW 

610 IF С%-“3“ THEN GOTO 720 

620 IF С%=°4" THEN COPY 

630 IF C$-'2' THEN GOTO 280 

640 FOR P-1 TO 150 

650 NEXT P 

660 GOTO 50 

670 CLS 

680 PRINT AT 10,7;'USE MENU CHOICE 1." 
690 FOR P-1 TO 30 

700 NEXT P 

710 GOTO 50 

720 PRINT АТ 21,0;'PRESS ENTER FOR MENU‘ 
730 INPUT P$ 

740 GOTO 50 


Line 410 sets aside 726 bytes іп which to store the 
contents of the Display file (22 lines * 32 columns * 22 slots 
for ENTER characters needed at the end of each line). 


Line 420 calculates the address of the beginning of the 
Display File. 


Lines 430 to 450 store each byte of the Display File іп 
correct order in the string array d$. Other  drauings could be 
stored in other string arrays, e.g. A$, BS, C$, etc. 


To get the drawing from the string array back жо the 
Screen, each byte must be POKED back into the Display File. 


Line 560 again locates the address of the beginning of the 
Display File (which moves around). 


Lines 570 to 590 POKE each byte from the string array, D$, 
into each successive address in the Display File. Again, Бу 
accessing stored information from other string arrays, other 
screens may be generated. 


The above program may be expanded to store at least ten 
screens. You may like to try your hand at this yourself, or a 
ten screen version will soon be found in some software library. 
HHH HH HH HH HAH HHH MAH HK HK HLHHK KKH RAK X X X X X XXX €xyXkXxGxvXxXxXxXxXxXxXxXxXxXxXxSXxxXxXxXxXXXXXxXxx 


CARTRIDGE COPY 
FROM FD-68 USER 


The hardware modification for copying cartridges to disc is 
now available from AERCO. You can make the mods yourself as 
shown іп the illustration (hich cannot be done here, but it is 
very clear), or for $15 AERCO will send you the addembled chip 
and switch and all you have to do is install it. Once the 
hardware change has been made, proceed аз follows: 

1) Turn off the computer 
2) Slide the suitch to the UP position 


DA 


S ION 


CHE 


DATA | 9 EXPANSION 


3) Insert the cartridge you wish to copy 

4) Turn the system back on and MOVE "'name.aro', 
9) Turn off the system - 

6) Remoue the cartridge - 

7) Slide the switch to the DOWN position 

8) Turn on the computer and CAT "пате. аго", 


The program vill load and run. I have the hardware change - 
on my interface and it works well, to a point. After some trial 
and error, I found that I couldn’t copy all of the cartridges I 
had. The only ones.I could copy successfully were Androids апа 
Crazybugs. I couldn't get Flight Simulator, States and Capitols,: 
Pinball, or Home Budgetter to сору. А talk with Jerry at  AERCO 
cleared up the matter. It seems that when the .ARO extension is- 
called in its’ present form, it only copies 16384 bytes, 32768 
to 49152, chunks 4 & 5 of the dock bank. Evidently the other 
programs are longer than that. Jerry said that a change іп the 
EPROM code, would read the header from the cartridge, and save 
the number of bytes accordingly. 


This hardware modification will not copy an LROS cartridge 
such as OS-64. The-.ARO extension only copies from 32768 to 
49152. An LROS (language oriented softuare) program resides at 
memory addresses 0-32768. 


BOOT 
. By Chia-Chi Chao 


Here is a boot program that I use оп all of пу discs. 
Loading programs is as simple as touching a feu keys. No more 
typing errors to worry about. I think you will like it. Type it- 
іп and have at it- 


1 REM Disk Auto-boot Loader Written by Chia-Chi Chao 7 

10 BORDER 0: PAPER 0: INK 7: CLS: OVER 1: LET xz0: LET y-5: (ЕТ 

2=0: LET a=x: LET b=y: LET c=z 

20 OUT 244,1: CAT '',: PRINT #1; OVER 0; PAPER 2;'5-8 Select 

File 9-0 Command‘ 

30 PRINT AT у,х; INVERSE 1;° "3; INVERSE О;АТ 

21,0; OVER 0; ‘Run Load Catalog Basic': PRINT AT 21,2; 

INVERSE 13° an 

40 LET a$zINKEY$: IF a$z'' THEN-GO TO 40 

50 IF a$2'8* AND х=0 THEN LET x=16 

60 IF a$z'5' AND x=16 THEN LET х-0 

70 IF a$z'6* AND у<20 THEN LET у=у+1 

80 IF a$="7" AND y>5 THEN LET y=y-1 

90 IF a<>x OR b<>y THEN PRINT АТ y»x$ INVERSE 1;° “ЗАТ 

Ь,а; " ': LET a=x: LET b=y: GO TO 40 

100 IF аФ-"0" AND z«24 THEN LET z=z+8 

110 IF as="9" AND 220 THEN LET z=2-8 

120 IF z<>c THEN PRINT АТ 21,2; INVERSE 1;* "ЗАТ 21,c;"' 
| ": LET c=z: GO TO 40 

130 IF CODE a$<>13 THEN GO TO 40 

140 IF 2-16 THEN RUN 

145 IF z-24 THEN OVER 0: STOP 

150 LET аФш"!" 


DATA 10 EXPANSION 


150 FOR 1=х+14 TO х+5 STEP -1: IF SCREENS (y,1)<>* ' THEN GO TO 
170 NEXT 1: BEEP .3,24: GO TO 40 

180 OVER 0: FOR m=x+1 TO 1: LET а%-аФ%5СКЕЕМ% (y,m): NEXT m 

190 IF a$(LEN а%-2 TO)="BAS* AND 2-8 THEN LET a$=a$+",10000° 

200 IF 2<=8 THEN САТ 'a$', 

9998 STOP 

9999 MOVE 'BOOT.BAS',10 
ӘЗ ЖӨЖ TE DE HEHE ИХ ӘЖ Ж ЖЖЖ 


FROM THE EDITOR'S MAILBOX 
From the FUKUG MBBS & PSDE 


1 thought that some of you might find these names familiar. 
These are some of the letters that I have recieved on the FWKUG 
MBBS & PSDE. These people are some of the movers in other parts 

of the US. Thanks to them for taking time and trying out the 

Timex section on the board. Also thanks to them for spreading 

the word about the BBS. Since they are impressed with what we 

have so far, let's see if we can get some more programs on the 

board and let them know what kinds of programmers ше have here 
in Texas and the Metroplex. 


LJLJL3JEJEJEJE3E 3 


Мзо%: 130 Date: 09/09/86 
From:. GARY LESSENBERRY 
То: ALL 

“Ре: TIMEX USER SEARCH 


Hi, I’m a Timex/Sinclair user from Chicago. I’m searching for 
other Timex users in the Dallas/Fort Worth area. I did notice 
that the sysop here had established a Timex file area. It 
appears as if somebody has been providing quite a few uploads to 
it also. Does anybody know of any other BBSs in your area that 
support the efforts of Timex/Sinclair users? If so, please drop 
some mail to me! Thanks! 


Enter Reply? (Y/N) <МО? 


“No 


Mso#: 150 Date: 09/11/86 

From: SYSOP (Private) 
"Tos DAVID BAULCH 
Re: STUFF 


Yes,. ue had a Timex caller. He asked what files he could 
download here after logging on for the first time. There із по 
need to check up to see if a caller is real or whatever. There 
is about 25 to 30 meg of CP/M, about 10 of MSDOS on the board 
right nou. I hope to add about 20 more meg of HD in the next few 
weeks (Will give about 60 meg total) most will be for MSDOS as 
that seems to be the biggest need. Yes, my phone can be called 
from Dallas (540 ) is a metro number. 


OK to KILL msg * 1507 (Y/N) <N)? 
No 


ANE 


— 


FEARN). pa 


PN 


rdc 


ANS ION 
(^ 


ctions 
torise 


ty of- 
es to. 


isting 
short, 


| the 
іу to 
id all 


fa 


DATA 11 EXPANSION 


Enter Reply? (Y/N) «XN»? 
No 


Мзо#: 154 Date: 09/12/86 
From:. ED GREY 

To: DAVID BAULCH 

Re: I MADE IT! 


Hello David, by now I assume that you have received my card ir 
the mail. I had tried and tried to access this BBS via Pf 
Pursuit and I wasn’t able to do it until now. I am glad to. see 
this BBS with a Timex area in the Dallas/Ft. Worth area. Time: 
boards are to few and far between. You are welcome to any of th: 
files on my 'Original' Time<x>Change sub-board on  YARBBS (213 
325-0213 and if there is anything that I can do to help make 
success of this Timex area, let me know. I will, for now, sprea 
the word and hopefully generate some users for the Time: 
section. I will call as often as I can get in. Is this BBS 
really super-busy or was it just a fluke that I couldn't get іг 
during the last 3 or 4 days? Take care. Ed Grey 


OK to KILL msg # 154? (Y/N)XN?? 
Enter Reply? (Y/N) XN»? 


Msgit: 155 Date: 09/12/86 
From: ED GREY 

To: DAVID BAULCH 

Res FILES AREA 


I looked over the files area and saw some stuff that І Һасп”- 
seen elsewhere. Are all of the existing files uploaded witt 
Mterm II HEX Conversion? Do you want Xmodem uploads? If thes 
are ascii hex uploads, hou do you operate the ascii loader (ог 
am I missing something)? Take care. Ed Grey 


OK to KILL msg # 155? (Y/N) XN»? 
No 

Enter Reply? (Y/N) «XN»? 

No 


Msg#: 161 Date: 09/12/86 

From: STEVE ISHII (Private) 
То: DAVID BAULCH 
Re: HELLO 


Hello David. I've dropped in after reading your message on- th. 
Time<x>Exchange BBS іп Los Angeles (which I am a regula 
visitor). Keep up the good work. This board looks very good а 
I also have а vested interest in MS-DOS systems, CP/M аз well 
Talk with уа later....<Steve> 


OK to KILL msg % 1617 (Y/N) XN»? 


No 
Enter Reply? (Y/N) XN»? 
No “ 


DATA 12 EXPANSION 


Мзо%: 170 Date: 09/13/86 
From: GARY LESSENBERRY 

To: DAVID BAULCH 

Re: TS BBS 


Thanks for the information David. I have been trying to maintain 
a list of the nation-wide BBSs that have Timex/Sinclair suboards 
and/or file areas. This list is available from the Nite 001 
Special BBS (3122459-5721 in Chicago. І update it on а monthly 
basis or try to anyway. All of our files are accessible via 
Xmodem transfer only. As you know, there are three terminal 
programs with  Xmodem available for the 1715-2068 which are 
Zterm-64, Specterm-64 and Loader V. For the TS-1000 there is the 
mini-Xmod. I will mail you our current BBS list this weekend for 
you to distribute with your fellow Timexer’s down there. 


OK to KILL msg % 1707 (Y/N) «XN»? 
No 
Enter Reply? (Y/N) «МО? 


No 
KHKHHKHK KKH HHH HH HHH HHH HH HH HHH HH HH HHH HHH HK HHH HK HHI IIE HEHEHE NEE IE HEHEHE NH IE HE 


SHORT CUTS FROM ENGLAND 
From ZX COMPUTING MONTHLY 


FADE OUT 


M. Waters of Slough sent us the first program, a great way of 
clearing the screen in games, it really gives that professional 
touch to your programs. : 


It works by removing pixels to give a dissolve effect and 
uses a 50 byte machine code routine. As it is printed here, it 
is.loaded to address 30000 so that both 16K and 48K owners can 
use it. To relocate it higher in memory and make it more 
practical for 48K users, just change the "30000 to 30049" to the 
address of your choice (i.e. 60000 to 60049) and call it with 
RANDOMIZE USR your address. 


10 RESTORE: FOR N=30000 TO 30049 

20 READ A: POKE N,A: NEXT N 

30 FOR М-0 TO 21: PRINT '12345678901234567890123456789012': NEXT 
N 


40 RANDOMIZE USR 30000 

50 DATA 17,254,8,123,7,7,7,95,33,0,64,1,24,0,126,163,119,35,16, 
250,13,32,247,21,32,233,58,141,92,119,84,93,19,1,192,2,237,176, 
58,72,92,119,14,63,237,176,201,0,0,0 


SCRAMBLER 
One for the newcomers sent іп by Niclas Carlenius of Sweden із 
a version of the ever popular scrolling games. Notice that use 


of USR 3582 to scroll the screen one line. 


То adapt the program to your own taste should not be that 
difficult a task for ‘even the least experienced, and to adjust 


oh 


4 


«0000 OUR ФФ 


i 


12 


Й 
$i 


с 


(SION = 


C 


("tain 

ааз = 
- Qul. 
thy ~ 
- vias 
nina ke 
" аге = 
з thee 
j fors | 


CX OE 


DATA 13 EXPANSION 


th speed of the game vary the number 20 in line 150 and you can 
adjust the road- width by modifying the number of spaces in line 


The aim of the game is to drive as long as possible alone 
the road аз it scrolls towards you using keys 5 and 8 to = move 
left and right, Niclas tells us his highest distance/score is 
1900. 


1 REM SCRAMBLER 

10 FOR А=0 TO 10: PRINT AT A,12;'** ++°:s NEXT A 
20.LET М-0: LET A=13: LET B=15 

70 LET R=INT (RNDX*4)*1 

80 LET A=A+(R>2.5 AND A<26)-(R<2.5 AND A50) 

90 PRINT AT 10,A-13°++ ++" 

100 LET Z=USR 3582 

110 LET M=M+1 

120 LET B=B+( INKEYS="8° )-( INKEY$='5") 

130 IF SCREEN$(O,B)-'*' THEN GO TO 170 

140 PRINT AT 0,В; “Ү“ҘАТ 1,B; 

150 60 TO 70 

170 CLS: PRINT " YOU TRAVELLED “М; MILES';AT 3,0; FLASH 
1;'PRESS ANY KEY TO START AGAIN" 

180 FOR Х-1 TO 300: NEXT X: PAUSE 0: RUN 


HACKER BASHER 


One of our most frequent requests is for ways of making .your 
programs hacker proof (personally I feel pleased that anybody 
would want to see hou I wrote a program). I.J. Rogers has. sent 
us-the method he uses. 


One method is to make a program unmergeable and this can be 
done by POKING the line length of the first line in the progran 
with 255. When the program is saved and someone tries- to. MERGE 
it, the compurer thinks it hasn't enough memory апа refusestc 
accept it! 


Due to the way in which Sinclair BASIC is stored you have 
to add a little more to your program than а simple POKE, but 
this isn't a lot and it is very easy. The secret is to . include 
the -following lines: 


1 РОКЕ 23758,0: GO TO 5 
5 main program starts here 
9999 POKE 23758,255: SAVE "PROGRAM" LINE 1 


SAVE your program by using the instruction GO TO 9999 and verify 
it with VERIFY "” as per usual. Nou NEU your computer and try tc 
MERGE the program. Mind you it is not much use on its oun as суок 
can still load it and BREAK the program to list it. To make it 
completely foolproof you vill haue to use one of the POKEs «ҺісР 
cause a crash if anyone tries to break it as the first line of 
your program. i.e. 5 POKE 65364,0: POKE 65365,0 


And, just to make life really difficult, you may have tc 


use а bit of extra code to find the start of the BASIC line if 


/ 


DATA l 14 EXPANSION 


you have a disk unit attached. 
MATHS MAD 


l There is a great deal of interest in mathematical functions 
in computing and W.E. Thomson sent us this routine to factorise 
numbers (math students everywhere thke note!). 


There is a time delay which depends on the complexity of 
the number, the prime 4294967291 will take around 8 minutes to 
check, most other numbers far less! 


ое Note the use of the subroutine at 300, it prints all the 
digits of a nime or ten character integer unlike the built іп 
PRINT command uhich rounds off at 9 digits. 


10 REM FACTORISE 

20 DATA 2,1,2,2,4 

30 DATA 2,4,2,4,6,2,6,4,2,4,6,6,2,6,4,2,6,4,6,8,4,2,4,2,4,8,6,4 
,6.2,4,6,2,6,6,4,2,4,6,2,6,4,2,6,4,10,2,10 

40 RESTORE 20 

50 INPUT ‘INPUT A МОМВЕК< -4294967296: "N 
60 GO SUB 300 

70 LET F=0: LET D=0 

80 FOR B=0 TO 52: READ Z: LET D-D*Z 

100 LET Q=N/D: IF Q<D THEN GO TO 200 

110 IF Q=INT Q THEN PRINT "-" AND NOT F;D;'x';: LET F=1: LET 
N-Q: GO TO 100 ( 
120 NEXT В 

130 RESTORE 30: LET В=4: NEXT B 

200 IF NOT Е THEN PRINT ' IS PRINE'; 

210 IF F THEN GO SUB 300 

220 PRINT: GO TO 40 

300 LET H=INT (N/1e5) 

310 IF NOT H THEN PRINT N;: RETURN 

320 PRINT H;(STR$ (М-1е5ж(Н-1222(2 TO );: RETURN 


A TRIO OF CHARACTERS 


Ben Stagnell, 13, of Radway, sent us three variations of a 
program to create new character sets. 


Now I don’t know about you, but I never bothered to alter 
my chars in program because the effort of either typing in at 
least 52x8 sets of data to individually create a new char. set 
or to modify each letter using a char. definer program was just 
too time consuming. 


Ben’s program cleverly make modifications to the existing 
set after copying them to ROM. This makes each variation short, 
fast, and easy to use. 


All 96 characters are modified and once you type in the 
program, run it and save it when instructed, you are ready to 
go. To see the effect, type POKE 23606,0: РОКЕ 23607,117 and all 
printing to the screen will be in that font. 


SION 
ө 


жж 


DATA 15 | EXPANSION 


Now, as it stands, the code of each neu character- set ~ is 
located at 30208 which does not give a lot of room for anythinc 
else, however, the code can be loaded into any area of memory as 
long as you follou the next instructions: 


1. CLEAR to the address one less than the code vil! be -loaded tE 
i.e. to load it to 64000, CLEAR 63999 

2. Туре or include аз a program instruction LOAD ''CODE- . address 
i.e. LOAD *'CODE 64000 

3. Play the tape uith the program code on it. 

4. Type or include as program lines POKE 23606, address-256xINT 
(address/256): POKE 23607, INT (address/256) i.e.  'address' 
would be replaced by 64000 for the general usefulness - of these 
routines. PEE 


5 REM 
10 REM ж DOUBLE THICKNESS x 
20 REM 
30 FOR N-30000 TO 30029: READ А: POKE М,А: NEXT М 
40 DATA 33,0,61,17,0,118,1,0,3,237,176, 33, 0,118,17,0,3, 126, for 
203,63,177,119,35, 275 122,179, 200, 24,243 
30 RANDOMIZE USR 30000 
60 INPUT "МАМЕ TO SAVE >) ';LINE N$ 
70 CLS: PRINT “SAVING :" ; № 
80 SAVE N$CODE 30208, 768 
90 PRINT'''REUIND TAPE TO VERIFY" 
100 VERIFY N$CODE 
110 BEEP .1,10: PRINT 'SAVE COMPLETE" 
120 NEU 


5 REM 
10 REM ж ITALICS ж 
20 КЕМ 
30 FOR N-30000 TO 30041: READ А: РОКЕ N,A: NEXT М І 
40 DATA 33,0,61,17,0,118,1,0,3,237,176,33,0,118,14,96,6,2, 126, 
203,63,203,63, 119, 35,16,247,6,4,126,203,63, 119, 35,16,249, 35. 35, 
13,200,24,230 
50 RANDOMIZE USR 30000 
60 INPUT "NAME TO SAVE >) ';LINE N$ 
20 CLS: PRINT “SAVING :';N$ 
80 SAVE N$CODE 30208,768 
90 PRINT'''REUIND TAPE TO VERIFY" 
100 VERIFY N$CODE 
110 BEEP .1,10: PRINT 'SAVE COMPLETE" 
120 NEU 


КЕР Е > 


5 REM 
10 REM ж FUTURISTIC x 
20 REM " 
30 FOR М-30000 TO 30035: READ A: РОКЕ N,A: NEXT М 
40 DATA 33,0,61,17,0,118,1,0,3,237,176,33,0,118,6,96,197,35,35 - 
35,35,6,4, 126, 79, 203,63, 177, 119,35,16,247,193,16, 237; 201 
50 RANDOMIZE USR 30000 
60 INPUT “МАМЕ TO SAVE >) ';LINE N$ 
70 CLS: PRINT "SAVING :';N$ 
80 SAVE NSCODE 30208,768 
90 PRINT'''REUIND TAPE TO VERIFY’ 


DATA | 16 EXPANSION 


100 VERIFY N$CODE 

110 BEEP .1,10: PRINT "SAVE COMPLETE’ 

120 NEW 

RRR RAKE EEK KKK KALE EERE KALE KELL HAE IEA AISA 


DISCUSSION ON COMPUTERS 
By David Baulch and various other computer people 


A friend of mine and I recently entered into a discussion 
about computers, the new and the old. He was trying to convince 
me that the way to go uas to purchase a new 16-bit or 32-bit 
machines. According to him: 


"Any computer із a valuable tool-at least until that 
inevitable day when it quietly and inexplicably (or dramatically 
during a power surge) stops working. If you have a 


computer-uhateuer the brand-then fantastic. My comments are 
about those uho might be holding on to the older technology 
because of a fear of the neuer machines. For these people, I am 
just trying to зау ‘take a closer look, the new machines and not 
that different from what you already are using’.’ 


I was partially in agreement with him. With all of the neu 
computers coming out, the neu chips, the larger RAM, the new 
languages, and the new periphrals, there is so much that can 
make you very much 'afraid'. But the cost is also part of the 
reason for that 'fear' he talked about. How many people can 
afford to go out and purchase the neuest model computer that is 
on the market today? I still have very fond feelings for the 
'old' 8-bit computers and the 'dead?"' CP/M. 


Eight bit computers will be around for years to come! Today 
there are millions of 4 bit chips working everyday doing things 
for you in your automobile, micro-wave ovens апа hundreds of 
other places. Eight bit computers  'old'? YES. Eight bit 
computers gone? NEVER. They will still be around for, at the 
very least, 20 more years. They do a good job for most people, 
who really needs the extra speed in the home? NO ONE. In 
factories, large offices and maybe some other places, the 
fastest speed is needed, but for most people, again І say 8 bits 
will do the job just fine. І 


It is а sad bit of commentary how technological 
improvements in the field of computers inadvertantly forces the 
wonders of yesterday to the scrap heap. 8-bit computers are the 
only way to go, at least to my way of thinking. I still 
ferverently believe that the wonders of yesterday are also the 
wonders of tomorrou. The expansion is there for anyone uho needs 
it, and the softuare base must be gigantic by nou. People are 
still using the old software that ran on 8-bit machines, and, if 
it does the job uell, uhy bother it? 


Yes, the graphics have improved tremendously, but there are 
many people who would bypass the neu improved graphics version, 
just to be with something more familiar and comfortable . - 
something that can be relied upon - an ‘old family friend'. They 
may be archaic to some, but they are 'solid-gold' to many 


the - 
lots= 


DATA 17 EXPANSION 


others. 


The question of hou many bits a computer uses is a useless 
point. Yes, you can get "а bit more speed’ the more bits you 
use. Things like clock speed have a much more profound affect, 
more options or tools to work with in programming. What I mean 
is... if you have better sound, graphics, disk speed, speech, 
IZO ports, etc., you have a computer better able to accomplish 
most any task. А machine with S8-bits takes less -chips-»to 
constitute memory (most all base memory оп 8-bits is- standard), 
yet most 16 bit machines also haue the tools onboard %о: make 
program code smaller. So you vill most likely Бе. talking. this 
same way in the next feu years about 16, 32, and 64-bit 
machines. 


The human brain, the greatest and fastest computer of - them 
all, is the one thing that keeps the computers changing, but it 
is also what keeps the old computers advancing more and more; |I 
would trust my old 8-bit Z-80 much more to handle what I want, 
than one of the newer models, and for the very reason that I 
stated. If it isn’t broke-don’t fix it. Newer or newest із ~ пої 
necessarily better or best. If you are comfortable and it will 
accomplish the specified task, why change? 


My point in all this is to say that a Timex/ZX81 with the 
software to accomplish what I want is infinitly more useful than 
а VAX with a satelite orbital algorithm. Yet, there are- some 
computers out there that have superior tools to do the things ue 
want to do. One should not have the mind set that if- 1. buy 
another computer I must sell the one I have. If it is serving .a 
useful purpose and that purpose cannot be accomplished more 
easily on your new one (considering all the neu things you will 
be using it for) then you should use that old computer. You have 
just increased you entire computing power Бу adding your new 
one. 


I use а TIMEX 2068, abandoned by the company over 2-1/2 
years ago, but still going strong. I even bring out my old 1000 
with the "huge" memory of 16K every now and then. Religate- it 
the junk pile or use it as a door-stop, NEVER! Like I said,. you 
don't do that to old family friends. 


An old computer always has a use. In a family the- old 
machine can be passed on to another family member. A - different 
computer in every room may sound strange, but it: is useful. 
Though, the latest machine may be the best of the lot, an older 
still functional computer set up in the kid’s room vill see more 
use than the newer model that must be shared by other family 
members. However, those 'original' computers that I learned on 
are still quite useful and I doubt that I will ever give them 
up. I still use them all for various and sundry purposes. I 
would certainly like to get mv  'hands' оп опе of- the newer 
models, just to have the RAM, but other than that. I choose te 
stay with what i can effectively and efficiently use. 
ЖЕЖ КҰЖЖ AEH HHH ХХ ЖҰ Ж EE EE ааа асе 


MEMSCAN 


DATA | 18 EXPANSION 


By Russel English 


CThis program is taken from the June 1986 edition of TIMELINEZ 
- the joint newsletter of the three Timex/Sinclair User Groups 
in the San Francisco Bay area: EBZUG, PUG, SVSTUG.J 


This is a short machine code routine that displays a memory 
map of the computer. It is 2068 specific, but can easily be 
altered for the Spectrum with tuo POKEs. 


It works by scanning every other address, checking for 
zeros. If something other than a zero is found, it assumes that 
the address is being used and a point is plotted on the screen. 


It is relocatable, called up with RANDOMIZE USR n, where n 
is the first address; overwrites the  screen,i.e. it does МОТ 
clear the screen first; does not scan the last few bytes of 
memory; ignores the external ROM; із interactive with the 
display file(s). 


To scan every byte in the first half —-of memory, POKE 
65519,0. To scan every byte in the second hald of memory,  POKE 
65502,128: POKE 65519,0. For SPECTRUM, POKE  65515,229: POKE 
65516,34. зоя 

„А title can be added to.a .display . with: PRINT АТ 
1,10:'name'. The display may be compared=to the memory map on 
р. 254 of the 2068 User Manual. 4 : 


10 FOR Х-65500 TO 65533 
20 READ Y: POKE X,Y 

30 NEXT X 

40 DATA 33,0,0,14,1 

50 DATA 6,27,62,0,197 

é0 DATA 299,190,40,3,205 
70 DATA 62,38,225,35,35 А 
80 DATA 193,4,62,156,184 LIES 
100 DATA 185,32,228,201 а. 
105 RANDOMIZE USR 65500 К 
115 STOP Las 
120 SAVE 'MEMSCAN'CODE 65500,34 


SPECTRUM POKES: the 205 in line 60 should-be. 229, and the 65 in 
line 70 should be 34. The should read?” >- 


60 DATA 229,190,40,3,229 
70 DATA 34,38,225,35,35 
HENIE JE JE M DE E DE ME FE DE JE FE JE IE FE FE IE DE IE IE FE DE E FE JE DE JE DE FE NE IE FE JE JE JE DE JE JE JEJE JE IE JE JE JE IE JE E E IE IE JE IE IE JE FE FE EE 


PROGRAM READER- 
From ZX-Appeal Sept.i86 


Have you at one time or another forgotten the name of a 
particular 1000 program but didn’t want to wait the 10 minutes 
to see what it was? Help is at hand! This routine will read and 
print the name the program was saved under, all in a few seconds 


ЕЕ ————— RS | Om C Оњ н нь eh geh PPP 40 OO № C3 C. 


(SION 


Sina, 


can 
sing 


eral 
о а 
Һесі е 
t/s 
to 

|^ as 
the 


rray 
gei 


ма 
RING 
INES 


DATA 19 EXPANSION 


and without affecting the saved program. 


Туре in the program, remembering the 75 character - REM 
statement. Run the program. After running the Program, delete 
lines 10 to 70 and add line 10 RANDOMIZE USR 16514. 


To use the routine just run the program and start the - tape 
recorder. А feu seconds after the program load pattern appears, 
the program will stop with the program name on the screen. 


This would be a good routine to keep in the 8K NVM." When 
typing in the program just change line 20 to whatever address-in 
the 8-16K area you мізҺ to use. Then NEU the machine >and -call 
the routine whenever you like by simply RANDOMIZE USR X, X being 
whatever address you chose for X in line 20. Ta 


1 REM SET UP REM STATEMENT WITH AT LEAST 75 SPACES. Rye 
10 LET A$-'CD230FCD8A4018FB0E0106003E7FDBFED3FF1FD2A20317173811 
10F 1F 1CD8A40CB7A792001D071730F 41810051E94061A10DBFE17CB7B7B38F51 
0Ғ5012004ҒЕ5630С8ЗҒСВ1130С3С9С98" 

20 LET X-16514 

30 IF AS="S* THEN STOP 

40 POKE X,16xCODE AS+CODE А%(2)-476 
50 LET X=X+1 

55 PASC ТО 2);° '; 

60 LET А%-А6(3 TO ) 

70 GOTO 30 


CB 7А (9 20 01 D? 17 30 x = 


C9 
3 CE XC IE JE JE EXE XE EXE EXE XE EXE HH HHH JE € € HHH € E EXE € E XE EXE E X EXC E XC XE EXC € E XE EXE E E E EXE EXC E CK 


INTERRUPTS 
By Lloyd Dreger 
From August 86 SMUG BYTES EE 


А discussion of ‘interrupts was a bit too advanced a subject 
to cover in detail in my book ‘Introduction to 2068 Machine 
Code," since the beginning student has enough other things > to 
learn, so here is a shert discussion of them. 


There are two kinds of interrupts available for. the ~ 280 
CPU, the maskable (MI) ‘and nonmaskable (NMI) interrupts. 


As the name implies, the maskable interrupt can be - masked, 
which is another word for defeated. Machine code students vill 
remember the disable interrupt (DI) and its opposite, the enable 
interrupt (EI). These commands only work on the- maskable 
interrupt. Since а maskable interrupt comes along every 1/60th 


DATA 20 EXPANSION 


of a second, the Sinclair computers use this signal to refresh 
the screen. In addition, the 2068 also uses this signal to check 
the keyboard for an input. The ZX81/1000 computers have а SLOW 
(refresh the screen) mode and a FAST (don’t bother with the 
screen)mode, which obviously are but little more than enabling 
or disabling the maskable interrupt. Certain machine code 
routines, such as data or code transfers; must be done without 
an interrupt until finished. Forgetting to do an EI before 
coming out of code back to BASIC results in a dead keyboard, 
which is equivalent to a crash. 


HALT is another instruction which requires an interrupt to 
start the computer again. It works with either type of 
interrupt. However, since the MI can be disabled with the DI 
statement, the 1/60th second delay may not work on many 
programs. The NMI, on the other hand, always gets through. 
However, a word of caution is in order so read on. 


What really happens with a MI is that all the registers are 
saved and the machine jumps to address 56 (38H) and follows the 
instructions given there. When a return із encountered, the 
registers are all restored as the machine goes back to working 
on whatever it was doing before the interrupt occurred. 


The NMI is a hardware or peripheral interrupt. А line 
inside the computer called NMI normally has 5 volts on it. If 
for any reason it temporarily goes lou, like being grounded, a 
NMI has occurred. The registers are again all saved along with 
the status of the MI as the machine jumps to address 102 (66H). 
On the ZX81/1000 machine it checks for SLOW and continues 
without any provision for adding another ММІ routine. Оп the 
2068, we have a problem as it checks for an address іп the 
system variable located at address 23728-23729. If you check 
your 2068 Users Manual, you will find that these addresses are 
not used. This is due to a bug in the next instruction іп the 
ROM (uhether this bug is deliberate or not is open to some 
debate). The instruction in effect reads 'jump to the address 
only if it is 0000," effectively doing a wipeout or restart. If, 
for some reason, you poked something into this address, the  NMI 
is ignored and a return to the program is made. 


This is NOT the way an NMI should work. The errant 
instruction at address 109 should be JR Z, not JR NZ. This 
change would cause the computer to return immediately if the NMI 
interrupt address at 23728/9 was 0000 or jump to the address 
contained there and handle the interrupt with a routine you 
could write, finally returning to the program when finished. 
Unfortunately, the error is in ROM and nothing short of burning 
a new ROM on an EPROM will permanently correct it. Unless... 


Unless you are NOT in the home bank. If you are in the dock 
bank with an LROS program, your technical manual states that you 
MUST urite both a MI and NMI routine to handle interrupts at the 
addresses given above. If you are lucky enough to have an АЕРСО 
disk drive, you have 64K of the RAM in the dock bank at all 
times. Every time you use the disk drives you run the routines 
put there by the AERCO interface ROM. It, thus, would be 


DATA 21 EKXKPANS roa 


possible to correct the NMI handling routine since the AERC 
program first starts at address 256° with only the LROE 
identification, the MI, and NMI routines below address 256. 
There is only one problem with this and that is that the 
computer does not run BASIC programs from the dock bank, but 
from the home bank, so it spends mest of its time іп the home 
bank and would use the home bank ROM NMI interrupt, with ite 
error, most of the time. You are reall, lucky with the БР/У 
version of the AERCO disk drive, as it is loaded and rur 
exclusively from the dock bank. ОҒ course, the present AERCO NMI 
routine would have to be rewritten tc handle an automatic jump 
to an NMI handler routine. 


Why use the NMI? Certain peripheral devices. notably the 
keyboard, can give an NMI to the CPU indicating that they are in 
need of attention. Most computers use the NMI to indicate input 
coming from the keyboard. As you saw above, Sinclair computers 
use the MI to scan the keyboard. not the ММ1, bur that із no 
reason to disable the NMI. Other devices such as a printer or a 
modem could be made to give an NMI when the» need attention as 
well. 


For example, most printers have a 2K to 8K buffer which is 
loaded and then printed out. When empty, it is reloaded with the 
next batch, etc. All the time that the printer is emptying the 
buffer it is sending a signal saying 'I'm busy, don’t send more 
yet." The way it stands at present, the driver program monitors 
this signal in а wait loop and is really wasting time. Instead 
the 'busy' signal could be put on the NMI line thus freeing the 
CPU to do something eise and return for another buffer reload 
only when needed. 


Or for another example. Your modem is monitoring the phone 
for calls. Nothing might happen for hours, but uhen it does the 
modem needs attention immediately. Or yet another, your computer 
is set up to play watchdog for your house, yet you would like to 
do an iterative program that takes hours to run overnight and 
haue the ansuer in the morning. You could do both with а working 
NMI. Sinclair had the right idea with the NMI routine address at 
23728. This routine uith the same error is also in Spectrom ROM. 
ЫҺу did they chicken out? 

RRR KEK HER KRENEK ALES AKER RAMEN ERNE 


NEW ITEMS 


WEYMIL CORPORATION, BOX 5904, BELLINGHAM, WA $8227-5904, has 
some very interesting and innovative products for the 1000 and 
2068. 


THRUST TS1000 

True hi-res graphics for the TS 1000. Thrust із Жоо great 
programs on one tape. Sinc-Artist 1.3 is the most user friendly 
software ever developed for printer graphics. Completely cursor 
and menu driven. For Hunter Board users, there's Sinc-Artist HR 
which produces fantastic screen graphics. THRUST із both the 
most sophisticated and easiest to use hi-res graphics software 
ever developed for the TS 1000.-$20.00 


DATA 


ho 
H3 


EXPANSION 


RIGTER JOYSTICK INTERFACE TS 1000 


This із a software programmable Atari-type joystick interface. 
It can handle up to 16 different directions or commands easily. 
It has it’s oun self-contained memory so that it’s software 
occupies no system RAM. The software allows you to configure 
your joystick to ANY TS 1000 game or graphic  softuare  (THRUST, 
for example) and it’s ready to go. Rear expansion bus allows 
other peripherals and the interface is completely 
transparent.-$32.95 


KRUNCHER TS 2068/TS 1000 


From the Pacific Northwest comes one of the most exciting 
utilities ever written. KRUNCHER takes any BASIC program for the 
2068 or 1000 and instantly reduces it to the tightest BASIC 
possible thereby conserving precious memory. Imagine all of 
these little memory saving tips developed over the years in one 
program which performs automatically and takes up less than 190 
bytes! Simply load KRUNCHER, locate it where you want it, load 
or write your BASIC program, invoke KRUNCHER, blink your eye and 
it’s done. Memory savings average 20-40%.--$10.00 (Specify 1000 
or 2068) 


CLONE TS 2068 


A sophisticated program which allows the user to make back-up 
copies of ANY TS 2068 or SPECTRUM software for their oun use. 
Requires no fancy filters or extra tape recorders. Easy to 
follow instruction make it simple to protect your valuable 
originals.-$10.00 


PIXEL SKETCH AND GRAPHICS EDITOR V2.0 TS 2068 


This program Бу Stan Lemke still remains the finest graphics 
program produced in the US and one of the best in the world for 
the TS 2068. It has had excelient user group reviews and is a 
snap to use. Well written, set-by-step documentation guides you 
effortlessiy from loading to producing your oun 
'masterpiece.'-$19.95 


ZEBRA SYSTEMS, INC., 78-06 Jamaica Ave., Woodhaven, NY 11421 nou 
has trackballs for the 1000 and the 2068. Тһе WICO  trackballs 
were originally for the ТІ 99/4А (2068) and Apple ГІ 
(1000,1500,2068, оғ zX81) 


752068 TRACKBALL 


You can benefit from the recent purchase of brand пеш WICO 
Trackball controllers at closeout prices. The phoenolic ball 
offers  360-degree movement. Two optical encoders provide 
split-second movement. Quick action fire button for smooth, two 
handed arcade response and feel. A very simple modification was 
made to make it fully compatible with the 2068 joystick port, 
but that voided the UICO warranty. Zebra gives a 15-day money 
back guarantee and a one-year limited warranty .-$19.95 


0; 


DATA 23 EXPANSION 


Ж ХХХ ХХХ Ж ХУ ХХХ ERE Ж > EEA AKL ОЕ 
BBS PROGRAMS 


I am very proud to announce that the  dounload Section on 
the FUKUG MBBS & PSDE for the Timex/Sinclair computers nou has 
41 programs for downloading via XMODEM protocol. (Cine of the 41 
is called WHATSFOR.TS that gives you the information about the 
programs on the directory. These are just some of them, 
certainly not all. I suggest that you give this fine BBS a try 
at 540-4183 С8/1/М1, you will not be sorry that you did. 


AUTODIAL.TS 

This is for the 752068, 2050 modem, and MTERM-iI. This is a 
different method for  auto-dialing that should allou you to 
continue to re-dial a number. The program should be checked over 
as there is one line number that should be changed. This should 
be saved as the new header for the  MTERM program. It will 
automatically LOAD and jump to the beginning of the program like 
RAND USR 54016 would. 


BANNER.TS 

This is for the TS2068 and the 2040 printer. This is a BANNER 
program that allows you to choose the size and width of the 
letters to be used on the banner. With some changes. may be- 
possible to load and run printer driver for an 80 column. 


BOUNCE.TS 

This is for the TS2068. This 15 a game to see what patterns 
can be seen when specifying the number of  'bounces" the ball 
will take. It is not too bad for simple "turtle" graphics. 


BREAKOUT.TS 

This is a game for the 1752068. This is the standard 
'demolition' type game where vou plan the trajectory of the ball 
to be released trying to  'breakout' cf the wall that is 
enclosing you. It is simple to operate and uses the cursor keys. 
Check listing to be sure. 


CASSDIR.TS 
This is for the TS2068 using cassettes. It is a directory 
type file similar to that of a disk drive. I wil! be necessary 


to study it first before you use it. It is possible to add more 
Programs to a tape and lengthen the file. 


CODEMOVE.TS 

This is for the TS2068. This program vill let you load in M/C 
and move it to another location. It would be best to make sure 
that апу JP's that you make зге relative and not absolute. 
Therefore, the code can be located anywhere vou wish. 


DATACREA.TS 

This is for the TS2068. It is run and used with the 
DATALOAD.TS and any MC program vou may have written. It will 
take the code and make it into DATA statements Starting at 9998 
and working backuards until it is complete. Then editing, saving 
and debugging is rather simple. It changes the code into HEX 


DATA 24 EXPANSION 


DATA statements. 


DATALOAD.TS 

This is for the 152068. This is the DATALOADer for 
DATACREA.TS. You will load the saved  'code' from the 
DATACREA.TS, then load the MC ansuering the question about uhere 
it goes, hou long it is and such. It will then create the "НЕХ" 
DATA statements for you to check over. 


DISASSY.TS 

This is for the TS2068. This is a BASIC disassembler program. 
DO NOT RUN the program! You need to see the listing first. This 
will give you all the instructions that you need to run this 
program. Remember not to SAVE this program with ап AUTOSTART 
LINE or it will crash. 


FUDGE.TS 

This is for the 752068 and a joystick used in the left port. 
FUDGE stands for Friendly U)ser О)еҒіпеа G)raphics E)ditor. It 
uses pull- doun menus and the cursor is moued around the screen 
in a mouse-like manner by the joystick. The ‘fire* button is 
used to select your choice. The screen looks very similar to 
that of an APPLE 2ГЕ or Mac. This is an exceptional program, the 
best I have ever seen produced. 


GRAPHICS.TS 

This is a USR GRAPHICS program that utilizes the TS 2068 and 
a joystick in the left port. This will allow you to make and 
save to tape the User Defined Graphics (UDG) for those special 
games that you want to program. The only real instructions are 
those for the joy stick. The fire button places your square. 
Instructions are included. 


MAILLIST.TS 

This is for the T92068 and the 05-64 cartridge. It is easily 
modified to be used without the (05-64 cartridge. All 
instructions are included in the program. The program is simple 
enough to improve and enlarge the mailing list capabilities with 
very little effort. 


MENUGRAD. TS 

This is for the 152068 and the 2040 printer. This is а very 
simple grade keeping system for any teacher. You can also get ә 
printout for your students or for yourself. А11 information is 
included in the program. 


MORTGAGE.TS 

This is for the TS2068. This vill give you the calculations 
for your mortgage. Just set in the three variables and the 4th 
will be provided for you. If you enter а "=", an amortization 
table will be provided for you. 


MT-AERCO.TS 

This is used for the TS2068, 2050 modem, and MTERM-II. This 
patch will allow the user to use the AERCO CPI and an 80 column 
printer uhile on line. The patch is run and the code із saved 
along with the MTERM-II Code. The word PRINT will tell you when 


Put